package com.jf.cloud.product.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import io.swagger.v3.oas.annotations.media.Schema;

public class StockBillLogItemExcelVO {
    /**
     * excel 信息
     */
    public static final String EXCEL_NAME = "库存流水信息";
    public static final String SHEET_NAME = "库存流水";
    /**
     * 哪一行开始导出
     */
    public static final int MERGE_ROW_INDEX = 2;
    /**
     * 需要合并的列数组
     */
    public static final int[] MERGE_COLUMN_INDEX = {0,1,2,3,4,5,6,7,8,9};

    @ExcelProperty(value = {"库存流水信息", "单据编号"}, index = 0)
    private String stockBillNo;

    @NumberFormat(value = "#")
    @ExcelProperty(value = {"库存流水信息", "关联单号"}, index = 1)
    private String sourceOrderNo;

    @ExcelProperty(value = {"库存流水信息", "单据类型"}, index = 2)
    private String stockBillTypeName;

    @ExcelProperty(value = {"库存流水信息", "商品名称"}, index = 3)
    private String spuName;

    @ExcelProperty(value = {"库存流水信息", "规格"}, index = 4)
    private String skuName;

    @ExcelProperty(value = {"库存流水信息", "商品编码"}, index = 5)
    private String partyCode;

    @ExcelProperty(value = {"库存流水信息", "实际出入库数量"}, index = 6)
    private Integer stockCount;

    @ExcelProperty(value = {"库存流水信息", "商品库存剩余量"}, index = 7)
    private Integer afterStock;

    @ExcelProperty(value = {"库存流水信息", "成本单价"}, index = 8)
    private Long unitPrice;

    @ExcelIgnore
    private Long spuId;

    @ExcelIgnore
    private Long skuId;

    @ExcelIgnore
    private Long stockBillLogItemId;

    @ExcelIgnore
    private Integer stockBillType;

    @ExcelIgnore
    @Schema(description = "出入库明细id" )
    private Long stockBillLogId;

    public String getStockBillTypeName() {
        return stockBillTypeName;
    }

    public void setStockBillTypeName(String stockBillTypeName) {
        this.stockBillTypeName = stockBillTypeName;
    }

    public String getStockBillNo() {
        return stockBillNo;
    }

    public void setStockBillNo(String stockBillNo) {
        this.stockBillNo = stockBillNo;
    }

    public String getSourceOrderNo() {
        return sourceOrderNo;
    }

    public void setSourceOrderNo(String sourceOrderNo) {
        this.sourceOrderNo = sourceOrderNo;
    }

    public Integer getStockBillType() {
        return stockBillType;
    }

    public void setStockBillType(Integer stockBillType) {
        this.stockBillType = stockBillType;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getSkuName() {
        return skuName;
    }

    public void setSkuName(String skuName) {
        this.skuName = skuName;
    }

    public String getPartyCode() {
        return partyCode;
    }

    public void setPartyCode(String partyCode) {
        this.partyCode = partyCode;
    }

    public Integer getStockCount() {
        return stockCount;
    }

    public void setStockCount(Integer stockCount) {
        this.stockCount = stockCount;
    }

    public Integer getAfterStock() {
        return afterStock;
    }

    public void setAfterStock(Integer afterStock) {
        this.afterStock = afterStock;
    }

    public Long getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(Long unitPrice) {
        this.unitPrice = unitPrice;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public Long getStockBillLogItemId() {
        return stockBillLogItemId;
    }

    public void setStockBillLogItemId(Long stockBillLogItemId) {
        this.stockBillLogItemId = stockBillLogItemId;
    }

    public Long getStockBillLogId() {
        return stockBillLogId;
    }

    public void setStockBillLogId(Long stockBillLogId) {
        this.stockBillLogId = stockBillLogId;
    }

    @Override
    public String toString() {
        return "StockBillLogItemExcelVO{" +
                "stockBillNo='" + stockBillNo + '\'' +
                ", sourceOrderNo=" + sourceOrderNo +
                ", stockBillTypeName='" + stockBillTypeName + '\'' +
                ", spuName='" + spuName + '\'' +
                ", skuName='" + skuName + '\'' +
                ", partyCode='" + partyCode + '\'' +
                ", stockCount=" + stockCount +
                ", afterStock=" + afterStock +
                ", unitPrice=" + unitPrice +
                ", spuId=" + spuId +
                ", skuId=" + skuId +
                ", stockBillLogItemId=" + stockBillLogItemId +
                ", stockBillType=" + stockBillType +
                ", stockBillLogId=" + stockBillLogId +
                '}';
    }
}
